package cn.zyl.quartz.bean;

import cn.zyl.quartz.typeEnum.StrategyEnum;

import java.util.Date;
import java.util.Map;

/**
 * @Author: zhaoyunlong
 * @Description: Job类，包含创建Job的一些参数
 * @Date: Create in 10:13 2018/12/21
 */
public class JobParameter {

	public static final String JOB_PARAM = "jobParam";
	
    private String jobName;		//Job名称

    private String jobGroup;	//job所在组

	private String description;	//任务介绍

	private Date startTime;		//开始时间

	private Date endTime;		//结束时间

	private Integer repeatNum;	//重复次数

	private Integer repeatInterval; //重复时间间隔

	private Map<String,String> param;	//自定义参数，放置在JobDataMap中

	private StrategyEnum strategy;	//策略

    private String triggerName;  //触发器

	private String triggerGroup;

    private String status;		//状态

	private String jobClass;	//执行Job的类

    private String cronExpression;		//Cron表达式

    private Boolean isSync = false;		//是否同步

	private String prevFireTime;		//上次触发时间

	private String nextFireTime;		//下次触发时间

    private Date updatedTime = new Date();		//更新时间


	public String getJobName() {
		return jobName;
	}

	public void setJobName(String jobName) {
		this.jobName = jobName;
	}

	public String getJobGroup() {
		return jobGroup;
	}

	public void setJobGroup(String jobGroup) {
		this.jobGroup = jobGroup;
	}

	public String getJobClass() {
		return jobClass;
	}

	public void setJobClass(String jobClass) {
		this.jobClass = jobClass;
	}

	public Map<String, String> getParam() {
		return param;
	}

	public String getStatus() {
		return status;
	}

	public void setStatus(String status) {
		this.status = status;
	}

	public String getCronExpression() {
		return cronExpression;
	}

	public void setCronExpression(String cronExpression) {
		this.cronExpression = cronExpression;
	}

	public Boolean getIsSync() {
		return isSync;
	}

	public void setIsSync(Boolean isSync) {
		this.isSync = isSync;
	}

	public String getDescription() {
		return description;
	}

	public void setDescription(String description) {
		this.description = description;
	}

	public Date getUpdatedTime() {
		return updatedTime;
	}

	public void setUpdatedTime(Date updatedTime) {
		this.updatedTime = updatedTime;
	}

	public String getPrevFireTime() {
		return prevFireTime;
	}

	public void setPrevFireTime(String prevFireTime) {
		this.prevFireTime = prevFireTime;
	}

	public String getNextFireTime() {
		return nextFireTime;
	}

	public void setNextFireTime(String nextFireTime) {
		this.nextFireTime = nextFireTime;
	}

	public Date getStartTime() {
		return startTime;
	}

	public void setStartTime(Date startTime) {
		this.startTime = startTime;
	}

	public Date getEndTime() {
		return endTime;
	}

	public void setEndTime(Date endTime) {
		this.endTime = endTime;
	}

	public void setParam(Map<String, String> param) {
		this.param = param;
	}

	public StrategyEnum getStrategy() {
		return strategy;
	}

	public void setStrategy(StrategyEnum strategy) {
		this.strategy = strategy;
	}

	public String getTriggerName() {
		return triggerName;
	}

	public void setTriggerName(String triggerName) {
		this.triggerName = triggerName;
	}

	public String getTriggerGroup() {
		return triggerGroup;
	}

	public void setTriggerGroup(String triggerGroup) {
		this.triggerGroup = triggerGroup;
	}

	public Integer getRepeatNum() {
		return repeatNum;
	}

	public void setRepeatNum(Integer repeatNum) {
		this.repeatNum = repeatNum;
	}

	public Integer getRepeatInterval() {
		return repeatInterval;
	}

	public void setRepeatInterval(Integer repeatInterval) {
		this.repeatInterval = repeatInterval;
	}
}
